package com.gouldzd.dao;

import com.github.pagehelper.Page;
import com.gouldzd.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/*
 * @Author zhangdan
 * @Description //TODO 检查组持久层DAO接口
 * @Date 23:30 2020/4/28
 * @Param 
 * @return 
 **/
public interface CheckGroupDao {

    //新增检查组
    void add(CheckGroup checkGroup);

    //建立检查组和检查项多对多关系(批量操作),@Param:给当前属性命名,配置文件不用写parameterType直接#{checkGroupId}取值
    void batchsetCheckGroupAndCheckItem(@Param("checkGroupId") Integer checkGroupId,@Param("checkitemIds") Integer[] checkitemIds);

    //检查组分页条件查询
    Page<CheckGroup> selectByCondition(String queryString);

    //根据id查询检查组
    CheckGroup findById(Integer id);

    //根据检查组id查询当前检查组包含的检查项的ID
    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    //根据id编辑检查组
    void editCheckGroup(CheckGroup checkGroup);

    //清除当前检查组关联的检查项,操作中间关系表t_checkgroup_checkitem表
    void deleteAssoication(Integer id);

    //查询所有检查组
    List<CheckGroup> findAll();
}
